package tables

// Question 题库，对应试题
type Question struct {
	Id            int64   `json:"id,string" gorm:"primaryKey"`
	Kind          int     `json:"kind"`            // 试题类型，可选：单选、多选、判断题、填空题、主观题
	Title         string  `json:"title"`           // 题目
	SubTitle      string  `json:"subTitle"`        // 题目补充信息
	InputFun      int     `json:"inputFun"`        // 录入方式，1-录入，2-试卷导入
	Score         float64 `json:"score"`           // 分值
	Options       string  `json:"options"`         // 选项
	Answer        string  `json:"answer"`          // 答案
	ScoringRule   int     `json:"scoringRule"`     // 计分规则，1-全对给分；2-部分对，给补分；3-部分对，按对的数量*补分，但是最终得分不会超过当前题目的分值
	PartScore     float64 `json:"partScore"`       // 补分值，用户需要自己控制补分值，默认 （总分值-1)/选项数量
	HardLv        int     `json:"hardLv"`          // 难度，系统自动抽取题目时会用到
	Label         string  `json:"label"`           // 标签，扩展用能
	FolderId      int64   `json:"folderId,string"` // 目录id，调整题目类型用的
	AccessControl int     `json:"accessControl"`   // 访问控制，1-开放，所有人都能用能修改；2-非创建者只能看，不能改；3-对非创建者隐藏。
	AutoCreateInfo
}

func (r *Question) TableName() string {
	return "lms_questions"
}
